Cryptography is the science of protecting digital communications from interception and eavesdropping, whereby information is sent as encoded messages, eliminating unauthorized access to the data. Various computing systems use data encryption for security management, whereby the content of the data is scrambled or encrypted. Hence, two principle objectives of encryption are met: secrecy, which prevents unauthorized disclosure; and integrity, which prevents unauthorized modification. Although encryption does not prevent the interception of data communications, it can hide the content of the message from an interceptor. In particular, for an encryption scheme, the message intended for communication may be encrypted based upon an encryption algorithm, which generates cipher text from the message that can only be read if decrypted. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients. Although it is possible for an interceptor to make an effort to try to decrypt the message without possessing the key, the large amount of computational resources and skill necessary does pose a significant problem for a well-designed encryption scheme.
The problem with this symmetric key approach for data encryption is that the sender and the receiver must share a common key. Using an asymmetric key scheme solves the problem of maintaining the privacy of the key. In particular, asymmetric encryption is based on a key pair, wherein one secret key is used for decryption and one public key is used for encryption. A primary computing node creates this pair of keys. When a secondary computing node wants to convey a confidential message to the primary computing node, it uses the public key to encrypt the message. The primary computing node now uses his private key to decrypt the encrypted message sent by the secondary computing node. In the context of bidirectional communication, the problems that arise with asymmetric key encryption are that the public key cannot be used for decryption and the primary computing node is the only party that can create the pair of keys.
Rivest-Shamir-Adleman (RSA) cryptography is a data encryption scheme that uses both the asymmetric and symmetric schemes for interchanging data sessions between two parties over the Internet, for example. A second major asymmetric approach to accomplish the buildup of a secret information pool between a sender and a receiver, or a group of inter messaging parties, is the Diffie Hellman algorithm, which is defined as a key agreement algorithm. There exists an underlying, mathematical problem for an unauthorized agent when trying to hack the encryption scheme as defined by both RSA and the Diffie Hellman algorithm: namely, prime factorization; where, due to the excessive amount of calculations to decompose a sum of two primes into its founding constituents, the hacking process becomes too time consuming to complete. The most efficient way to get around this problem may include the implementation of the General Number Field Sieve (GNFS), which is merely a fast trial and error approach.
Although asymmetric encryption can be used without inclusion of prior secrets to establish a communication session, it is approximately 200 to 1000 times more computationally costly than symmetric encryption. Given this fact and the notion that asymmetric encryption within RSA requires more information resources to accomplish a specified level of security, the cost of a message exchange keyed with RSA will approach 25 times the cost of a 128 bit symmetrically keyed exchange having the same information content. Unfortunately for higher security levels, this ratio rapidly increases.
It is within this context that the embodiments arise.